package com.sxkf.system.model;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import com.sxkf.system.entity.SysDepart;
import lombok.Data;

/**
 * <p>
 * 部门表 封装树结构的部门的名称的实体类
 * <p>
 *
 */
@Data
public class DepartIdModel implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private String key;

    /**
     * 主键ID
     */
    private String value;

    /**
     * 部门名称
     */
    private String title;
    
    private List<DepartIdModel> children = new ArrayList<>();
    
    /**
     * 将SysDepartTreeModel的部分数据放在该对象当中
     */
    public DepartIdModel convert(SysDepartTreeModel treeModel) {
        this.key = treeModel.getId();
        this.value = treeModel.getId();
        this.title = treeModel.getDepartName();
        return this;
    }
    
    /**
     * 该方法为用户部门的实现类所使用
     */
    public DepartIdModel convertByUserDepart(SysDepart sysDepart) {
        this.key = sysDepart.getId();
        this.value = sysDepart.getId();
        this.title = sysDepart.getDepartName();
        return this;
    }
}
